<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数声明和调用</title>
    <script>
      /* 
    函数声明和调用
    1.函数声明的方式
      1.1 使用函数声明来创建一个函数
          语法：
          function 函数名(形参1,形参2,....){//形参是可选的
            语句;
          } 
      1.2 函数表达式
      1.3 立即执行函数  
    2.形参与实参 
      2.1  auguments获取所有实际传递的参数 
    */
      /* function func1(){
        console.log("我是一个函数声明方式的函数");
      };
      var func2=function(){
        console.log("我是一个函数表达式形式的函数");
      };
      //注意函数结束需要加上分号，否则会导致立即执行函数出错
      (function(){
        console.log("我是一个立即执行函数");
      })();
      func1();
      func2(); 
      //形参与实参案例
      function add(a,b){
        console.log(a);
        console.log(b);
        return a+b;
      }
      console.log(add(10,20));//30
      console.log(add("10","20"));//1020
      console.log(add("hello","World"));//helloWorld
      console.log(add(1,2,3,4,5));//3,只有两个参数，后面多余的参数无效
      console.log(add());//NaN,这里的a,b都是undefined

      */
      var total = 0;
      var sum = function () {
        console.log(arguments);
        for (var i = 0; i < arguments.length; i++) {
          total += arguments[i];
        }
        return total;
      }
      var result = sum(1, 2, 3, 4, 5, 6); //21
      console.log(result);
    </script>
  </head>

  <body>

  </body>

</html>